package myProject.nim;

public class Human extends Rule{
    private String name;
    Human(){
        this.name = getInputName("参战人员");
    }
    public String getName(){
        return name;
    }
    /**
     * 获取要操作石子堆
     * @param length 石子队列长度
     * @param name 谁获取
     * @return idx
     */
    public int getIdx(String name,int[] storeArray,int length) {
        String index = null;
        int idx;
        System.out.print("请" + name + "选择石子堆：");
        do {
            index = getInput();
            if (index.matches("^[0-9]+$")) {
                idx = Integer.parseInt(index);
            } else {
                System.out.print("请输入一个数字：");
                continue;
            }
            if (idx <= 0 || idx > length) {
                System.out.print("还剩" + length + "堆石子，请重新输入：");
            } else {
                break;
            }
        } while (true);
        return idx;
    }
    /**
     *获得拿走石子数量
     * @param name  拿石子人姓名
     * @param storeArray 石子队列
     * @param idx 从哪拿石子
     * @return num 拿走石子个数
     */
    public int getNumber(String name,int[] storeArray,int idx) {
        String numbers = null;
        idx--;
        int num;
        System.out.print("请" + name + "选择拿去石子个数：");
        do {
            numbers = getInput();
            if (numbers.matches("^[0-9]{1,}$")) {
                num = Integer.parseInt(numbers);
            } else {
                System.out.print("请输入一个数字：");
                continue;
            }
            if (num <= 0 || num > storeArray[idx]) {
                System.out.print("该堆石子还剩" + storeArray[idx] + "个，请重新输入：");
            } else {
                break;
            }
        } while (true);
        return num;
    }
}
